clear; clc; close all;

% 如果在某个 ϕ 上方纵坐标为正，表示 ϕ 将往右运动
% 若纵坐标为负，则 ϕ 往左运动


% 定义 φ 的取值范围
phi_range = linspace(-3, 3, 400);
f_phi = -0.2 * phi_range.^3 + phi_range;

figure;
plot(phi_range, f_phi, 'b-', 'LineWidth', 1.5); % 绘制 f(phi) 曲线
hold on;
plot(phi_range, zeros(size(phi_range)), 'k--', 'LineWidth', 1); % 绘制横轴

% 计算并标记固定点：phi = 0, phi = ±sqrt(5)
phi_fixed = [ -sqrt(5), 0, sqrt(5) ];
f_fixed = -0.2 * phi_fixed.^3 + phi_fixed;  % 理论上 f_fixed 应为0

plot(phi_fixed, f_fixed, 'ro', 'MarkerSize',8, 'MarkerFaceColor','r');

xlabel('状态变量 \phi');
ylabel('d\phi/dt');
title('断电状态下的忆阻器 POP 曲线');
legend('f(\phi) = -0.2\phi^3+\phi','d\phi/dt=0','固定点','Location','best');
grid on;
